package cn.tedu.ivos.application.pojo.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.util.Date;
import java.util.List;

@Data
public class ApplicationVO {

    @Schema(description = "用车申请表id", example = "1")
    private Long id;

    @Schema(description = "申请人Id", example = "1001")
    private Long userId;

    @Schema(description = "申请人姓名", example = "张三")
    private String username;

    @Schema(description = "开始时间", example = "2024-04-01 09:00:00")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private String startTime;

    @Schema(description = "结束时间", example = "2024-04-01 18:00:00")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private String endTime;

    @Schema(description = "驾照图片URL", example = "https://example.com/images/license.jpg")
    private String imgUrl;

    @Schema(description = "出发地", example = "杭州市西湖区")
    private String departureAddr;

    @Schema(description = "目的地", example = "上海市浦东新区")
    private String destinationAddr;

    @Schema(description = "用车原因", example = "出差")
    private String reason;

    @Schema(description = "其它备注信息", example = "请安排空调车")
    private String remark;

    @Schema(description = "申请表状态：已发起10 撤销20 审核中30 驳回40 已通过50 分配用车60 工单结束70", example = "50")
    private String status;

    @Schema(description = "分配的车辆信息ID", example = "2001")
    private Long vehicleId;

    @Schema(description = "驳回原因", example = "无可用车辆")
    private String rejectReason;

    @Schema(description = "申请时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;

    /* 瞬态属性 */
    @Schema(description = "审批人id集合")
    private List<Long> auditUserIdList;

    @Schema(description = "审批人姓名字符串")
    private String auditUsernameList;
}
